package com.ayf.payment.game.api.entity;

import com.ayf.payment.game.api.entity.base.BaseEntity;
import com.ayf.payment.game.api.type.Status;

import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;

/**
 * 商户结算银行卡表
 */
@Table(name = "g_merchant_bank")
public class MerchantBank extends BaseEntity {
    /**
     * 商户号
     */
    @Column(name = "merchant_id")
    private Integer merchantId;

    /**
     * 结算类型: 0银行卡1支付宝
     */
    @Column(name = "settle_type")
    private Integer settleType;

    /**
     * 银行名称
     */
    @Column(name = "bank_name")
    private String bankName;

    /**
     * 支行名称
     */
    @Column(name = "bank_branch_name")
    private String bankBranchName;

    /**
     * 开户行联行行号
     */
    @Column(name = "bank_branch_no")
    private String bankBranchNo;

    /**
     * 银行预留手机号
     */
    @Column(name = "bank_phone")
    private String bankPhone;

    /**
     * 银行卡号
     */
    @Column(name = "card_no")
    private String cardNo;

    /**
     * 收款人
     */
    @Column(name = "account_name")
    private String accountName;

    /**
     * 申请时间
     */
    @Column(name = "apply_time")
    private Date applyTime;

    /**
     * 备注
     */
    @Column(name = "notes")
    private String notes;

    /**
     * 状态：ENABLE启用，PROHIBIT禁用，AUDITED审核中，AUDITFAIL审核失败
     */
    @Column(name = "`status`")
    private Status status;

    /**
     * 审核失败描述
     */
    @Column(name = "fail_des")
    private String failDes;

    /**
     * 开户城市
     */
    @Column(name = "bank_city")
    private String bankCity;

    /**
     * 开户省份
     */
    @Column(name = "bank_province")
    private String bankProvince;

    // 开户省编码
    @Column(name = "bank_province_code")
    private String bankProvinceCode;
    // 开户城市编码
    @Column(name = "bank_city_code")
    private String bankCityCode;
    // 银行卡卡号正面照片地址
    @Column(name = "bank_card_img")
    private String bankCardImg;



    public String getBankProvince() {
        return bankProvince;
    }

    public void setBankProvince(String bankProvince) {
        this.bankProvince = bankProvince;
    }

    public String getBankProvinceCode() {
        return bankProvinceCode;
    }

    public void setBankProvinceCode(String bankProvinceCode) {
        this.bankProvinceCode = bankProvinceCode;
    }

    public String getBankCityCode() {
        return bankCityCode;
    }

    public void setBankCityCode(String bankCityCode) {
        this.bankCityCode = bankCityCode;
    }

    public String getBankCardImg() {
        return bankCardImg;
    }

    public void setBankCardImg(String bankCardImg) {
        this.bankCardImg = bankCardImg;
    }

    /**
     * 获取商户号
     *
     * @return merchant_id - 商户号
     */
    public Integer getMerchantId() {
        return merchantId;
    }

    /**
     * 设置商户号
     *
     * @param merchantId 商户号
     */
    public void setMerchantId(Integer merchantId) {
        this.merchantId = merchantId;
    }

    /**
     * 获取结算类型: 0银行卡1支付宝
     *
     * @return settle_type - 结算类型: 0银行卡1支付宝
     */
    public Integer getSettleType() {
        return settleType;
    }

    /**
     * 设置结算类型: 0银行卡1支付宝
     *
     * @param settleType 结算类型: 0银行卡1支付宝
     */
    public void setSettleType(Integer settleType) {
        this.settleType = settleType;
    }

    /**
     * 获取银行名称
     *
     * @return bank_name - 银行名称
     */
    public String getBankName() {
        return bankName;
    }

    /**
     * 设置银行名称
     *
     * @param bankName 银行名称
     */
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    /**
     * 获取支行名称
     *
     * @return bank_branch_name - 支行名称
     */
    public String getBankBranchName() {
        return bankBranchName;
    }

    /**
     * 设置支行名称
     *
     * @param bankBranchName 支行名称
     */
    public void setBankBranchName(String bankBranchName) {
        this.bankBranchName = bankBranchName;
    }

    /**
     * 获取银行预留手机号
     *
     * @return bank_phone - 银行预留手机号
     */
    public String getBankPhone() {
        return bankPhone;
    }

    /**
     * 设置银行预留手机号
     *
     * @param bankPhone 银行预留手机号
     */
    public void setBankPhone(String bankPhone) {
        this.bankPhone = bankPhone;
    }

    /**
     * 获取银行卡号
     *
     * @return card_no - 银行卡号
     */
    public String getCardNo() {
        return cardNo;
    }

    /**
     * 设置银行卡号
     *
     * @param cardNo 银行卡号
     */
    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    /**
     * 获取收款人
     *
     * @return account_name - 收款人
     */
    public String getAccountName() {
        return accountName;
    }

    /**
     * 设置收款人
     *
     * @param accountName 收款人
     */
    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    /**
     * 获取申请时间
     *
     * @return apply_time - 申请时间
     */
    public Date getApplyTime() {
        return applyTime;
    }

    /**
     * 设置申请时间
     *
     * @param applyTime 申请时间
     */
    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    /**
     * 获取备注
     *
     * @return notes - 备注
     */
    public String getNotes() {
        return notes;
    }

    /**
     * 设置备注
     *
     * @param notes 备注
     */
    public void setNotes(String notes) {
        this.notes = notes;
    }

    /**
     * 获取状态：ENABLE启用，PROHIBIT禁用，AUDITED审核中，AUDITFAIL审核失败
     *
     * @return status - 状态：ENABLE启用，PROHIBIT禁用，AUDITED审核中，AUDITFAIL审核失败
     */
    public Status getStatus() {
        return status;
    }

    /**
     * 设置状态：ENABLE启用，PROHIBIT禁用，AUDITED审核中，AUDITFAIL审核失败
     *
     * @param status 状态：ENABLE启用，PROHIBIT禁用，AUDITED审核中，AUDITFAIL审核失败
     */
    public void setStatus(Status status) {
        this.status = status;
    }

    /**
     * 获取审核失败描述
     *
     * @return fail_des - 审核失败描述
     */
    public String getFailDes() {
        return failDes;
    }

    /**
     * 设置审核失败描述
     *
     * @param failDes 审核失败描述
     */
    public void setFailDes(String failDes) {
        this.failDes = failDes;
    }

    /**
     * 获取开户地点
     *
     * @return bank_city - 开户地点
     */
    public String getBankCity() {
        return bankCity;
    }

    /**
     * 设置开户地点
     *
     * @param bankCity 开户地点
     */
    public void setBankCity(String bankCity) {
        this.bankCity = bankCity;
    }

    public String getBankBranchNo() {
        return bankBranchNo;
    }

    public void setBankBranchNo(String bankBranchNo) {
        this.bankBranchNo = bankBranchNo;
    }
}